package com.haixiaoke.saas.bill.service.impl;

import java.util.List;

import com.haixiaoke.saas.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.haixiaoke.saas.bill.mapper.ExpenseItemMapper;
import com.haixiaoke.saas.bill.domain.ExpenseItem;
import com.haixiaoke.saas.bill.service.IExpenseItemService;

/**
 * 费用项目Service业务层处理
 *
 * @author qixi
 * @date 2024-05-30
 */
@Service
public class ExpenseItemServiceImpl implements IExpenseItemService {
    @Autowired
    private ExpenseItemMapper expenseItemMapper;

    /**
     * 查询费用项目
     *
     * @param itemId 费用项目主键
     * @return 费用项目
     */
    @Override
    public ExpenseItem selectExpenseItemByItemId(Long itemId) {
        return expenseItemMapper.selectExpenseItemByItemId(itemId);
    }

    /**
     * 查询费用项目列表
     *
     * @param expenseItem 费用项目
     * @return 费用项目
     */
    @Override
    public List<ExpenseItem> selectExpenseItemList(ExpenseItem expenseItem) {
        return expenseItemMapper.selectExpenseItemList(expenseItem);
    }

    /**
     * 新增费用项目
     *
     * @param expenseItem 费用项目
     * @return 结果
     */
    @Override
    public int insertExpenseItem(ExpenseItem expenseItem) {
        expenseItem.setCreateTime(DateUtils.getNowDate());
        return expenseItemMapper.insertExpenseItem(expenseItem);
    }

    /**
     * 修改费用项目
     *
     * @param expenseItem 费用项目
     * @return 结果
     */
    @Override
    public int updateExpenseItem(ExpenseItem expenseItem) {
        expenseItem.setUpdateTime(DateUtils.getNowDate());
        return expenseItemMapper.updateExpenseItem(expenseItem);
    }

    /**
     * 批量删除费用项目
     *
     * @param itemIds 需要删除的费用项目主键
     * @return 结果
     */
    @Override
    public int deleteExpenseItemByItemIds(Long[] itemIds) {
        return expenseItemMapper.deleteExpenseItemByItemIds(itemIds);
    }

    /**
     * 删除费用项目信息
     *
     * @param itemId 费用项目主键
     * @return 结果
     */
    @Override
    public int deleteExpenseItemByItemId(Long itemId) {
        return expenseItemMapper.deleteExpenseItemByItemId(itemId);
    }
}
